package cn.kgc.springday05.statik;

import cn.kgc.springday05.impl.TeacherLi;
import cn.kgc.springday05.interfaces.Teacher;

/**
 * @author 课工场
 * @date 2023/10/10
 * @description    静态代理的基本使用
 *    1. 代理对象要和被代理对象实现相同接口
 *    2. 代理对象依赖于被代理对象
 *
 * 不足：
 *   1. 存在代码冗余
 *   2. 增加了代码的维护难度
 *
 */
public class TeacherLiStaticProxy implements Teacher {

    private TeacherLi teacherLi  = new TeacherLi();

    @Override
    public String teachOnLine(String course) {

        // 增强上课提示信息
        System.out.println("==============上课时间到了================");

        String s = teacherLi.teachOnLine(course);

        // 增强下课提示信息
        System.out.println("==============下课时间到了================");

        return s ;
    }

    @Override
    public String teachOffLine(String course) {

        // 增强上课提示信息
        System.out.println("==============上课时间到了================");

        String s = teacherLi.teachOffLine(course);

        // 增强下课提示信息
        System.out.println("==============下课时间到了================");

        return s;
    }
}
